#ifndef __NAVIGATIONEDITCMD_H__
#define __NAVIGATIONEDITCMD_H__

#include <stl/list.h>
#include "command.h"
#include "terrain/terrainblock.h"

struct SNavigationDataInfo{
    int32 m_nX, m_nY;
    int32 m_nOldDataInfo;
    int32 m_nNewDataInfo;

    color32 m_cOldDataColor;
    color32 m_cNewDataColor;
};


class CNavigationEditCmd: public CCommand{
public:
    CNavigationEditCmd( int32 nDataIndex, list< SNavigationDataInfo > *pNavigationEditInfoList );
    virtual ~CNavigationEditCmd();
    virtual void Init();
	virtual void Final();
    virtual bool32 Redo();
    virtual bool32 Undo();

private:
    int32 m_nDataIndex;
    list< SNavigationDataInfo > m_vNavigationDataInfoList;

};

#endif

